Mobile devices such as mobile telephones and PDAs are commonly arranged to perform communication with a user's computer. For example, a user may wish to use connect his mobile phone and his computer to download pictures taken with the phone to the camera or to upload pictures stored on the computer to the phone; to update or synchronise contact details; to cause the mobile phone to act as a modem for the computer; to allow the computer to send short messaging service (SMS) messages via the phone; to manage files on the phone and so forth. Increasingly, mobile phones also have loaded on them calendar, address book and synchronising software such as MS Outlook and Apple iCal and iSync.
When a purchaser buys a new mobile phone, typically the user is provided with a CD-ROM on which the required software to perform the required communications operations between the mobile phone and the computer are stored. The user loads the data on the CD-ROM onto the computer, which then allows necessary control and operation of, and interfacing with, the mobile phone.
Currently, there is a large number of different makes and models of mobile phones on the market, each having various features (that is, capabilities and functions) at various different layers to allow it to communicate with a computer. These layers can include application, protocol and transport layers, amongst others. The list of features that a phone supports changes from manufacturer to manufacturer, series to series and even model to model. For example, one model in a series issued by a manufacturer may have the features of personal data synchronisation, network connection, SMS sending and file management, whereas another model in the same series may have network connection, SMS sending and file management, but not personal data synchronisation. Conversely, one model may be provided with USB and Bluetooth connectivity, while another model may be provided with USB and infrared (IR) connectivity.
Thus, even when two phones have the same top-level features, the way in which they are implemented is often very different, with different limitations and using different standards (or features) at lower levels. For correct operation of the mobile phone, these different standards (which can themselves be considered as different lower-level features) must be correctly implemented.
To control communications between a computer and a mobile phone, phone manufacturers generally allow the computer operating system (OS) to handle lower level aspects, such as Bluetooth and USB, while reserving higher level aspects to themselves. Accordingly, the CD-ROM provided by the manufacturer is a complete on-computer application for manipulating the phone. This application allocates certain aspects of communication between the computer and the phone to the computer OS and controls other aspects of the communication. The aspects allocated to the computer OS change between different models of mobile phones, depending on their design.
Similar considerations apply to PDAs and other electronic devices.